IBM’s Zero Instruction Set Computer
By Arthur Ed LeBouthillier
This article appeared in the February 2000 issue of The Robot Builder.
Neural Nets excite many as a possible technique for developing adaptive capable robot controllers. Although the basic idea of their operation is simple and their use is efficient, the biggest problem has been in training them. A product developed by IBM
called the Zero Instruction Set Computer (ZISC) provides hope that neural net technology might be reasonably used in robots.
Basic Neural Nets
Neural Nets are networks based on a simple model of biological neurons. They simulate the capability of neurons to take many inputs and to generate outputs based on simple math models. In these models, each neuron consists of a number of inputs (i1, i2, …, in), going through a number of weights (w1, w2, … , wn) which are summed together and sent through a sigmoid function to generate an output. Figure 1 shows this model.
As figure 1 shows, the output is a function of the sum of the inputs times a weight value. The sigmoid function is a non-linear function which creates a quick change in output once the sum of the inputs times their weights is above or below a threshold.
Commonly, these neuron model elements are combined together to create a neural network as illustrated in figure 2. Figure 2 shows a simple feedforward neural net. It is feedforward because all signals flow in the forward direction from input to output without any feedback signals.
These kinds of neural nets are very adept at learning to recognize patterns in their input despite missing or noisy inputs.
IBM’s ZISC
IBM’s Zero Instruction Set Computer (ZISC) is a hardware implementation of 36 neurons. It is intended for a wide variety of applications from image recognition to robotics control. It implements a simplified learning model based on the Radial
Basis Function (RBF). This model of the RBF limits the total numbers of categories that a neuron can learn to 16,384 but larger networks can show increased learning capability. Although simplified, it still offers powerful capabilities As their literature states:
ZISC036 is the first of a family of integrated circuit based on neural network designed for recognition and classification applications which generally require super-computers. ZISC products provide a very cost-effective way to solve such problems with sufficient performance to match real time constraints.
A ZISC036 implements 36 neurons on an integrated circuit which can be connected into any kind of network. Each neuron can have up to 64 inputs. The ZISC036 has a 16-bit data bus which allows loading of input parameters for each neuron. There are additional address and control lines to perform full input and output communications.
Using this bus access technique, data can be written to the input registers of the chip, which can become the input for all 36 neurons (or they can be grouped to respond to certain kinds of inputs individually). Once the last input value is entered, the chip computes the outputs for each neuron very quickly; with a 20 MHz clock, the result of the neural calculations is available 0.5 microseconds after the last input data is entered. This allows up to 250,000 evaluations per second (including the time to enter the input data). According to the manufacturer, similar capabilities could only be seen with a 2,000 MIPS Von Neuman architecture. The ZISC can also be trained with new patterns quickly: an individual neuron can be taught in less than a microsecond. ZISC’s can be cascaded into quite large parallel networks. This means that many individual neuron
operations can be performed in parallel at full speed. Additionally, each neuron can be individually trained allowing the time-multiplexing of different networks. This allows a chain of ZISC’s to be used like a quickly-reconfigurable time-shared neural network. The user has the choice whether to edicate his neurons to special functions or to use them as general-purpose processing resources. Using this reconfigurability, a network can be a perceptron for a certain amount of time, become a sequencer circuit for another period of time and then go back to being a perceptron. Different operating modes allow access to parts of the neuron calculation. This can allow you to utilize the processing capabilities of the ZISC for different kinds of neural net algorithms.
Summary
IBM’s ZISC036 is an exciting product which allows real-time processing of neural net applications. For those seeking fast neural computations, it might offer just the right tool for the job.